﻿<?xml version="1.0" encoding="utf-8"?>
<xsd:schema id="ProblemsXSD" xmlns:xsd='http://www.w3.org/2001/XMLSchema'>  
  <xsd:element name="CompletionProviderKeywords">
    <xsd:complexType>
      <xsd:choice minOccurs="0" maxOccurs="unbounded">
        <xsd:element name="TeX">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:element name="Commands" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="cmd" nillable="true" minOccurs="0" maxOccurs="unbounded">
                      <xsd:complexType>
                        <xsd:simpleContent>
                          <xsd:extension base="xsd:string">
                            <xsd:attribute name="req" type="xsd:string" />
                            <xsd:attribute name="spec" type="xsd:boolean" />
                            <xsd:attribute name="grp" type="xsd:string" />
                            <xsd:attribute name="desc" type="xsd:string" />
                            <xsd:attribute name="double" type="xsd:boolean" />
                          </xsd:extension>
                        </xsd:simpleContent>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="Words" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="wrd" nillable="true" minOccurs="0" maxOccurs="unbounded">
                      <xsd:complexType>
                        <xsd:simpleContent>
                          <xsd:extension base="xsd:string">
                            <xsd:attribute name="req" type="xsd:string" />
                            <xsd:attribute name="space" type="xsd:boolean" />
                            <xsd:attribute name="desc" type="xsd:string" />
                          </xsd:extension>
                        </xsd:simpleContent>
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
              <xsd:element name="Arguments" minOccurs="0" maxOccurs="unbounded">
                <xsd:complexType>
                  <xsd:sequence>
                    <xsd:element name="Group" minOccurs="0" maxOccurs="unbounded">
                      <xsd:complexType>
                        <xsd:sequence>
                          <xsd:element name="arg" nillable="true" minOccurs="0" maxOccurs="unbounded">
                            <xsd:complexType>
                              <xsd:simpleContent>
                                <xsd:extension base="xsd:string">
                                  <xsd:attribute name="desc" type="xsd:string" />
                                </xsd:extension>
                              </xsd:simpleContent>
                            </xsd:complexType>
                          </xsd:element>
                        </xsd:sequence>
                        <xsd:attribute name="name" type="xsd:string" />
                        <xsd:attribute name="desc" type="xsd:string" />
                      </xsd:complexType>
                    </xsd:element>
                  </xsd:sequence>
                </xsd:complexType>
              </xsd:element>
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>